package com.huikeportal.dao;

import java.util.List;

import com.huikeportal.model.DataTransInfo;
import com.huikeportal.model.PosApplication;
import com.huikeportal.model.SiteAllInfo;
import com.huikeportal.model.TableColumnInfo;
import com.huikeportal.model.UserInfo;
import com.huikeportal.model.WordBook;
import com.huikeportal.model.common.PageDataVo;
import com.huikeportal.model.common.SqlParameter;

public interface DataTransInfoMapper {
	
	void deleteMappingData(String id) throws Exception;

	List<DataTransInfo> querySiteList(PageDataVo pageDataVo) throws Exception;
	
	int querySiteTotal(PageDataVo pageDataVo) throws Exception;
	
	List<DataTransInfo> querySiteListInQy(PageDataVo pageDataVo) throws Exception;
	
	int querySiteListInQyTotal(PageDataVo pageDataVo) throws Exception;
	
	List<DataTransInfo> querySiteListInLc(PageDataVo pageDataVo) throws Exception;
	
	int querySiteListInLcTotal(PageDataVo pageDataVo) throws Exception;
	
	List<DataTransInfo> querySiteListInDp(PageDataVo pageDataVo) throws Exception;
	
	int querySiteListInDpTotal(PageDataVo pageDataVo) throws Exception;
	
	List<DataTransInfo> queryCameraList(PageDataVo pageDataVo) throws Exception;
	
	int queryCameraTotal(PageDataVo pageDataVo) throws Exception;
	
	List<DataTransInfo> queryMappingDataList(PageDataVo pageDataVo) throws Exception;
	
	List<DataTransInfo> queryMappingDataAll(PageDataVo pageDataVo) throws Exception;
	
	int queryMappingDataTotal(PageDataVo pageDataVo) throws Exception;
	
	List<SiteAllInfo> getSitesByUser(UserInfo userInfo) throws Exception;
	
	List<SiteAllInfo> getAllJtSites(SiteAllInfo siteAllInfo) throws Exception;
	
	List<SiteAllInfo> getAllGcSitesByJt(SiteAllInfo siteAllInfo) throws Exception;
	
	List<SiteAllInfo> getAllGcSitesByDy(SiteAllInfo siteAllInfo) throws Exception;
	
	List<WordBook> getTransObjects(String para) throws Exception;

    int insert(DataTransInfo dataTransInfo);

    int insertSelective(DataTransInfo dataTransInfo);

    DataTransInfo selectByPrimaryKey(Long id);
    
    DataTransInfo selectByCondition(DataTransInfo dataTransInfo);
    
    DataTransInfo selectMappingSquare(DataTransInfo dataTransInfo);

    int updateByPrimaryKeySelective(DataTransInfo dataTransInfo);

    int updateByPrimaryKey(DataTransInfo dataTransInfo);
    
    int updateBySelective(DataTransInfo dataTransInfo);
    
    List<TableColumnInfo> getColumnNames(String tableName) throws Exception;
    
    List<PosApplication> getTemplateColumns(PosApplication info) throws Exception;
    
    String getSiteNameById(String siteId) throws Exception;
    
    
	// 查询区域客流-广场下的区域
	List<DataTransInfo> getQyInGc(String squareId) throws Exception;

	// 查询区域客流-区域下的区域
	List<DataTransInfo> getQyInQy(String squareId) throws Exception;

	// 查询区域客流-楼层下的区域
	List<DataTransInfo> getQyInLc(String squareId) throws Exception;

	// 查询区域客流-店铺下的区域
	List<DataTransInfo> getQyInDp(String squareId) throws Exception;

	// 查询楼层客流-广场下的楼层
	List<DataTransInfo> getLcInGc(String squareId) throws Exception;

	// 查询楼层客流-区域下的楼层
	List<DataTransInfo> getLcInQy(String squareId) throws Exception;

	// 查询楼层客流-店铺下的楼层
	List<DataTransInfo> getLcInDp(String squareId) throws Exception;

	// 2015年12月28日13:47:43新增通道概览
	// 查询通道客流-广场下的通道
	List<DataTransInfo> getTdInGc(String squareId) throws Exception;

	// 查询通道客流-区域下的通道
	List<DataTransInfo> getTdInQy(String squareId) throws Exception;

	// 查询通道客流-楼层下的通道
	List<DataTransInfo> getTdInLc(String squareId) throws Exception;

	// 查询通道客流-店铺下的通道
	List<DataTransInfo> getTdInDp(String squareId) throws Exception;

	// 查询店铺客流-广场下的店铺
	List<DataTransInfo> getDpInGc(String squareId) throws Exception;

	// 查询店铺客流-区域下的店铺
	List<DataTransInfo> getDpInQy(String squareId) throws Exception;

	// 查询店铺客流-楼层下的店铺
	List<DataTransInfo> getDpInLc(String squareId) throws Exception;
	
	// 查询广场里有下级的区域
	List<DataTransInfo> getParentQyInGc(String squareId) throws Exception;

	// 查询广场里有下级的楼层
	List<DataTransInfo> getParentLcInGc(String squareId) throws Exception;

	// 查询广场里有下级的店铺
	List<DataTransInfo> getParentDpInGc(String squareId) throws Exception;
	
	// 查询广场里有下级的通道
	List<DataTransInfo> getParentTdInGc(String squareId) throws Exception;
	
	// 查询广场里有下级的楼层
	List<DataTransInfo> getSiteInGc(DataTransInfo info) throws Exception;

	// 查询广场里有下级的店铺
	List<DataTransInfo> getSiteInQy(DataTransInfo info) throws Exception;
	
	// 查询广场里有下级的店铺
	List<DataTransInfo> getSiteInLc(DataTransInfo info) throws Exception;
	
	// 查询广场里有下级的店铺
	List<DataTransInfo> getSiteInDp(DataTransInfo info) throws Exception;
	
	List<DataTransInfo> getMappingData(DataTransInfo info) throws Exception;
	
	List<DataTransInfo> getMappingSnData(DataTransInfo info) throws Exception;
	
	DataTransInfo getInfoByIdAndType(DataTransInfo info) throws Exception;
}